from third_party.active_state.recipes.autoassign import autoassign

class UtterancePattern:
  @autoassign
  def __init__(self,
               value_pattern,
               snippet_ID_pattern,
               *arguments,
               **keyword_arguments):
    self.context = dict(keyword_arguments.items())
  
  def __repr__(self):
    return ''.join(['{self.__class__}(',
                    'value_pattern="{self.value_pattern}", ',
                    'snippet_ID_pattern="{self.snippet_ID_pattern}",',
                    'context={self.context})']).format(self = self)
